﻿using System;
using HuaWeiCamera.Struct.Face;

namespace HuaWeiCamera.Struct
{
    /// <summary>
    /// 用户元数据详情
    /// </summary>
    [System.Runtime.InteropServices.StructLayout(System.Runtime.InteropServices.LayoutKind.Explicit)]
    public struct PU_UserData_unMetadata
    {
        [System.Runtime.InteropServices.FieldOffset(0)]
        public int bBoolValue;

        [System.Runtime.InteropServices.FieldOffset(0)]
        public byte charValue;

        [System.Runtime.InteropServices.FieldOffset(0)]
        public byte ucharValue;

        [System.Runtime.InteropServices.FieldOffset(0)]
        public short shortValue;

        [System.Runtime.InteropServices.FieldOffset(0)]
        public ushort ushortValue;

        [System.Runtime.InteropServices.FieldOffset(0)]
        public int IntValue;

        [System.Runtime.InteropServices.FieldOffset(0)]
        public uint uIntValue;

        [System.Runtime.InteropServices.FieldOffset(0)]
        public long longlongValue;

        [System.Runtime.InteropServices.FieldOffset(0)]
        public ulong uLonglongValue;
        /// <summary>
        /// 元数据二进制颜色
        /// </summary>
        [System.Runtime.InteropServices.FieldOffset(0)]
        public ST_BINARY stBinay;
        /// <summary>
        /// 元数据矩形
        /// </summary>
        [System.Runtime.InteropServices.FieldOffset(0)]
        public META_RECT_S stRec;
        /// <summary>
        /// 元数据划点
        /// </summary>
        [System.Runtime.InteropServices.FieldOffset(0)]
        public META_POINT_S stPoint;
        /// <summary>
        /// 元数据划线
        /// </summary>
        [System.Runtime.InteropServices.FieldOffset(0)]
        public META_LINE_S stLine;

        [System.Runtime.InteropServices.FieldOffset(0)]
        public IntPtr stPolyGon;

        [System.Runtime.InteropServices.FieldOffset(0)]
        public IntPtr stColor;

        [System.Runtime.InteropServices.FieldOffset(0)]
        public IntPtr stHumanAttr;
        /// <summary>
        /// 人脸信息
        /// </summary>
        [System.Runtime.InteropServices.FieldOffset(0)]
        public META_FACE_INFO stFaceInfo;
        /// <summary>
        /// 人脸属性
        /// </summary>
        [System.Runtime.InteropServices.FieldOffset(0)]
        public META_FACE_ATTRIBUTES stFaceAttr;

        [System.Runtime.InteropServices.FieldOffset(0)]
        public IntPtr szUserData;
    }
}
